library(sf)
library(leaflet)
library(tidyverse)
library(rgdal)
Warning: package ‘rgdal’ was built under R version 4.1.1
Loading required package: sp
rgdal: version: 1.5-23, (SVN revision 1121)
Geospatial Data Abstraction Library extensions to R successfully loaded
Loaded GDAL runtime: GDAL 3.2.1, released 2020/12/29
Path to GDAL shared files: C:/Users/bewar/Documents/R/win-library/4.1/rgdal/gdal
GDAL binary built with GEOS: TRUE 
Loaded PROJ runtime: Rel. 7.2.1, January 1st, 2021, [PJ_VERSION: 721]
Path to PROJ shared files: C:/Users/bewar/Documents/R/win-library/4.1/rgdal/proj
PROJ CDN enabled: FALSE
Linking to sp version:1.4-5
To mute warnings of possible GDAL/OSR exportToProj4() degradation,
use options("rgdal_show_exportToProj4_warnings"="none") before loading rgdal.
Overwritten PROJ_LIB was C:/Users/bewar/Documents/R/win-library/4.1/rgdal/proj
st_transform(dz11, '+proj=longlat +datum=WGS84')
Simple feature collection with 6976 features and 9 fields
Geometry type: MULTIPOLYGON
Dimension:     XY
Bounding box:  xmin: -8.650007 ymin: 54.63324 xmax: -0.7246094 ymax: 60.86077
CRS:           +proj=longlat +datum=WGS84
lookup <- lookup %>% select(-2)

hb <- dz11 %>% 
  left_join(lookup, by = c("DataZone" = "DZ2011_Code"))
hb %>%
  filter(HB_Name == "Grampian") %>% 
  leaflet() %>% 
  addPolygons()
grampian <- hb %>% 
  group_by(HB_Name) %>%
  filter(HB_Name == "Grampian") %>%
  summarise(geometry = st_union(st_make_valid(geometry))) %>% 
  leaflet() %>%
  addPolygons() %>% 
  addTiles()

grampian
hb_polygons <- hb %>% 
  group_by(HB_Name) %>%
  summarise(geometry = st_union(st_make_valid(geometry))) %>% 
  ungroup()
  
hb_polygons %>% 
  leaflet() %>% 
  addPolygons()
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpgYGB7cn0NCmxpYnJhcnkoc2YpDQpsaWJyYXJ5KGxlYWZsZXQpDQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkocmdkYWwpDQpgYGANCg0KYGBge3J9DQpkejExIDwtIHJlYWRfc2YoIm9yaWdpbmFsX2RhdGEvZGF0YXpvbmUyMDExL1NHX0RhdGFab25lX0JkcnlfMjAxMS5zaHAiKQ0KDQpkejExIDwtIHN0X3RyYW5zZm9ybShkejExLCAnK3Byb2o9bG9uZ2xhdCArZGF0dW09V0dTODQnKQ0KYGBgDQoNCmBgYHtyfQ0KbG9va3VwIDwtIGxvb2t1cCAlPiUgc2VsZWN0KC0yKQ0KDQpoYiA8LSBkejExICU+JSANCiAgbGVmdF9qb2luKGxvb2t1cCwgYnkgPSBjKCJEYXRhWm9uZSIgPSAiRFoyMDExX0NvZGUiKSkNCmBgYA0KDQpgYGB7cn0NCmhiICU+JQ0KICBmaWx0ZXIoSEJfTmFtZSA9PSAiR3JhbXBpYW4iKSAlPiUgDQogIGxlYWZsZXQoKSAlPiUgDQogIGFkZFBvbHlnb25zKCkNCmBgYA0KDQoNCg0KYGBge3J9DQpncmFtcGlhbiA8LSBoYiAlPiUgDQogIGdyb3VwX2J5KEhCX05hbWUpICU+JQ0KICBmaWx0ZXIoSEJfTmFtZSA9PSAiR3JhbXBpYW4iKSAlPiUNCiAgc3VtbWFyaXNlKGdlb21ldHJ5ID0gc3RfdW5pb24oc3RfbWFrZV92YWxpZChnZW9tZXRyeSkpKSAlPiUgDQogIGxlYWZsZXQoKSAlPiUNCiAgYWRkUG9seWdvbnMoKSAlPiUgDQogIGFkZFRpbGVzKCkNCg0KZ3JhbXBpYW4NCmBgYA0KDQpgYGB7cn0NCmhiX3BvbHlnb25zIDwtIGhiICU+JSANCiAgZ3JvdXBfYnkoSEJfTmFtZSkgJT4lDQogIHN1bW1hcmlzZShnZW9tZXRyeSA9IHN0X3VuaW9uKHN0X21ha2VfdmFsaWQoZ2VvbWV0cnkpKSkgJT4lIA0KICB1bmdyb3VwKCkNCiAgDQpgYGANCg0KYGBge3J9DQpoYl9wb2x5Z29ucyAlPiUgDQogIGxlYWZsZXQoKSAlPiUgDQogIGFkZFBvbHlnb25zKCkNCmBgYA0KDQo=